import java.sql.*;

public class JDBCUtil {
    // 数据库连接的驱动类
    static String driver = "com.mysql.cj.jdbc.Driver";
    // 数据库连接的url
    static String url = "jdbc:mysql://localhost:3306/bookstore?useSSL=false&serverTimezone=UTC";
    // 数据库连接的⽤户名
    static String username = "root";
    // 数据库连接的密码
    static String password = "77234399";

    // 连接对象
    static Connection conn = null;

    /**
     * 获取数据库的连接对象
     */
    public static Connection getConnection() {
        try {
            // 加载驱动
            Class.forName(driver);
            // 获取数据库的连接对象
            conn = DriverManager.getConnection(url, username,
                    password);
            if (conn != null) {
                System.out.println("数据库已连接");
            }
        } catch (Exception e) {
            System.out.println("数据库连接出现异常");
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * 关闭数据库连接
     * 预处理 PreparedStatement、连接Connection
     *
     * @throws SQLException
     */
    public static void close(PreparedStatement pstm, Connection conn) throws SQLException {
        if (pstm != null) {
            pstm.close(); // 关闭 预处理
        }
        if (conn != null) {
            conn.close(); // 关闭 连接
        }

    }

    /**
     * 关闭数据库连接
     * 结果集 ResultSet、预处理 PreparedStatement、连接
     * Connection
     *
     * @throws SQLException
     */
    public static void close(ResultSet rs, PreparedStatement pstm, Connection conn) throws SQLException {
        if (rs != null) {
            rs.close(); // 关闭 结果集
        }
        if (pstm != null) {
            pstm.close(); // 关闭 预处理
        }
        if (conn != null) {
            conn.close(); // 关闭 连接
        }

    }
}
